\chapter{Resultaten}
\label{cha:h5}

\section{forAP}

De gerealiseerde applicatie kreeg de naam `forAP' wat staat voor `for Android Privacy'. Op Google Code~\cite{forap} zijn meerder .apk bestanden aanwezig voor het installeren van forAP met of zonder Java Card integratie. De Java Card applet is te vinden op~\cite{jcapplet}. 

De mogelijkheden van forAP worden kort samengevat:
\begin{enumerate}
	\item Inlogsysteem  
	\item OpenPGP vercijfering met RSA-2048, CFB-AES-256
	\item OCB-AES-256 voor vercijfering van private sleutel op Dropbox
	\item Werkende applicatie klaar voor b\`{e}ta fase
	\item Gebruik van centrale contacten gegevensbank in Android
\end{enumerate}

De doelstelling om OpenPGP te implementeren met de Spongy Castle API is gelukt. Momenteel zijn de gebruikte algoritmes vastgelegd. Voor symmetrische algoritme wordt CFB-AES-256 gebruikt. De asymmetrische algoritmes voor vercijfering en handtekeningen zijn beide RSA met een 2048-bit sleutel. Voor de gebruiker zijn enkel de knoppen `encrypt', `sign' en `encrypt \& sign' zichtbaar om encryptie te verwezenlijken. Eender welk leesbaar bestand op het Android systeem of een ingegeven kan verwerkt worden zolang de grootte beperkt is. De bufferfunctie voor het inlezen van een groot bestand moet nog verder uitgewerkt worden. OCB mode is toegevoegd voor blokcijfers en wordt gebruikt met AES-256 voor synchronisatie van de private sleutel over Dropbox. 

\subsection{Dropbox}

De volgende functionaliteiten zijn dankzij Dropbox in de implementatie aanwezig.
\begin{description}
	\item[Synchronisatie contacten] \hfill \\
	Op Dropbox zijn de contactpersonen met hun publieke sleutels aanwezig. Voor de beveiliging van het bestand wordt OpenPGP gebruikt met de publieke sleutel van de gebruiker zelf. Dankzij het synchronisatie-algoritme, dat beschreven wordt in deel~\ref{sync}, zullen de publieke sleutels van de contactpersonen automatisch gesynchroniseerd worden tussen verschillende Android toestellen. Bij het verwijderen van de applicatie worden alle contactpersonen die bij deze applicatie behoren ook verwijderd. Het synchronisatie-algoritme kan dan bij herinstallatie van de applicatie de contactpersonen terug aanmaken.
	
	\item[Mogelijkheid om private sleutel te delen over meerder Android systemen] \hfill \\
	Om de gebruiker de mogelijkheid te bieden meerder toestellen te gebruiken, wordt de private sleutel van de gebruiker gesynchroniseerd over Dropbox. Hiervoor wordt OCB-AES-256 beveiliging gebruikt om zowel confidentialiteit als integriteit te verzekeren. Als de gebruiker op een mobiel toestel nog geen account heeft, kan deze op het inlogscherm kiezen om met zijn account aanwezig op Dropbox te synchroniseren.
	
	\item[Delen van publieke sleutel] \hfill \\
	Tijdens de implementatie bleek het omslachtig te zijn de publieke sleutel via een sms te verzenden. Een sms is beperkt in lengte en door de grootte van de publieke sleutel wordt de informatie over meerdere sms'en verdeeld wat ongebruiksvriendelijk is en een kostelijke zaak kan worden voor de gebruiker. Dropbox biedt de mogelijkheid om bestanden te delen. De implementatie stuurt nu een sms met de link naar het publieke sleutel bestand. In deze sms zit ook nog een message digest van de publieke sleutel om de integriteit hiervan na te gaan.
	\item[Delen van boodschappen] \hfill \\
	Hetzelde probleem als bij delen van een publieke sleutel is aanwezig. De sms bevat dus ook de link naar het vercijferde bestand. De message digest is echter niet nodig omdat de OpenPGP algoritmes automatisch integriteit tijdens encryptie  toevoegt bij zowel vercijfering als bij ontcijfering en ondertekenen.
	\item[Opslagruimte] \hfill \\
	De gebruiker kan de opslagruimte ook gebruiken voor zijn eigen vercijferde bestanden te bewaren.
\end{description}

\begin{figure}[h]
  \centering
  \includegraphics[width=1\textwidth]{dropbox.png}
  \caption[Resultaat Dropbox]{Resultaat Dropbox.}
  \label{fig:dropbox}
\end{figure}

Figuur~\ref{fig:dropbox} toont de enkele bestanden op Dropbox. Het bestand `publickey.asc' is de publieke sleutel van de gebruiker. De bestanden `config.txt', `nonce.txt', `tag.txt' en `salt.txt' worden aangemaakt door het OCB-AES-256 algoritme dat de private sleutel op veilige wijze deelt over Dropbox. In `contacts.txt' zijn de contactpersonen van de gebruiker aanwezig. De inhoud van dit bestand is vercijferd met OpenPGP.

\subsection{Java Card}
Het vorige hoofdstuk beschrijft de problemen en oplossingen van de implementatie van de JavaCard. Uiteindelijk is het volgende volledig ge\"implementeerd. 

Voor de communicatie tussen Android en de Java Card zijn door SEEK for Android meerdere oplossingen voorgesteld. In dit eindwerk wordt met de MSC SmartcardService~\cite{seekmsc} gewerkt. Na installatie van `MSC\_SmartcardService.apk' en `OpenMobileAPISample.apk' op de smartphone is het mogelijk om te communiceren via de SmartCard API~\cite{seekscapi} van SEEK for Android met een Java Card zonder het mobiele toestel te `flashen'. De SmartCard API wordt toegevoegd aan de bibliotheken van de Android applicatie. 

De Java Card genereert een sessiesleutel van 256 bits voor het symmetrische algoritme, CFB-AES-256. Dit wordt expliciet opgeslagen in een tijdelijk geheugen. Met deze sessiesleutel wordt een sessiepakket gecr\"eerd. Het sessiepakket bestaat uit de sessiesleutel en enkele extra bytes voor overeenkomst met de OpenPGP standaard. Door de standaard van OpenPGP te volgen is er compatibiliteit tussen gebruikers met of zonder Java Card. Het is dus niet verplicht om een Java Card te gebruiken.

Daarna wordt het vercijferd met de publieke sleutels van de geadresseerde contactpersonen. In deze implementatie werd een sleutelgrootte van 2048 bits voorzien voor de publieke sleutels. We kozen deze grootte om een stap verder te gaan ten opzichte van de meest courante grootte op het moment van schrijven, namelijk 1024 bit RSA-sleutels. %Het verschil in de tijdsanalyses zou hierdoor ook duidelijker moeten zijn omdat een vergroting in sleutelgrootte meer rekenwerk vergt.

%De eerste paar stappen zijn genomen in de richting 
Na de eerste tests, die performantie met en zonder Java Card vergelijken aan de hand van tijdsanalyses, werd al snel duidelijk dat de applet veel trager is de applicatie.

Na enkele aanpassingen van de applet werd de tijdsduur gehalveerd. In een eerste stap werd het gebruik van geheugen in de applet aangepast. Het permanent EEPROM geheugen (Electrically erasable programmable read-only memory), op de Java Card, is traag terwijl het vluchtig RAM (Random-access memory) geheugen heel snel is. Door in de applet enkele buffers te verplaatsen naar het RAM geheugen werd de executietijd korter. In een volgende stap, viel op dat er APDU's verzonden werden met \'e\'en byte in het gegevensveld. Door een buffer in de applicatie toe te voegen, die wacht tot een APDU van maximale lengte kan verzonden worden. Door deze twee aanpassingen is de executietijd gehalveerd. 

De ontwikkelde applet in dit eindwerk staat nog in zijn kinderschoenen en kan nog verder verbeterd worden qua performantie. Verder onderzoek naar het schrijven van een performantere applet is nodig. De volgende bronnen geven een goed startpunt voor het oplossen van het performantieprobleem~\cite{jccrypto,jcprogguid}.

Door buffers te gebruiken in de applicatie om de overhead van APDU's. Dit is getest en zorgt voor een halvering in executie tijd. Toch is het nog te traag en moet er verder gezocht worden naar performantere oplossingen~\cite{jccrypto,jcprogguid}. 

%Bij het ontwerp van de Java Card implementatie moet correcte aandacht besteed worden aan welke variabelen we in het werkgeheugen steken of in het permanent geheugen (EEPROME Electrically erasable programmable read-only memory). Verder kunnen nog aanpassingen in de applet ervoor zorgen dat de performantie verhoogt. 
%
%Bij het ontwerp van een applet voor Java Card dienen volgende regels gevolgd te worden. 
%\begin{enumerate}
%\item Gebruik bestaande algoritmes
%\item Sla sessiegegevens op in een RAM. Operaties in het RAM geheugen zijn sneller en veiliger tegen vermogen analyses
%\item Sla sleutel en pincodes mogen nooit in primitieve reeksen opgeslagen worden maar gebruik de gespecialiseerde objecten.
%\item Verwijder met gespecialiseerde methodes ongebruikte sleutels en reeksen met gevoelige informatie
%\end{enumerate}
%
%Als conclusie kunnen we stellen dat de Java Card de applicatie een beter veiligheid geeft.
%
%




%Updates van de code versnellen het door correcte declaratie van tijdelijke gegevens in het snelle RAM-geheugen in plaats van het trage EEPROM-geheugen. Een andere versnelling was bereikt dankzij buffers aan de Android kant om overhead te vermijden bij kleine boodschappen.


%Met behulp van tijdsanalyses geven we de JavaCard resultaten weer. Deze tijdsanalyses tonen het verschil in executietijd  tussen een verwerking van cryptografische algoritme enekel op Android of samen met de Java Card. Updates van de code versnellen het door correcte declaratie van tijdelijke gegevens in het snelle RAM-geheugen in plaats van het trage EEPROM-geheugen. Een andere versnelling was bereikt dankzij buffers aan de Android kant om overhead te vermijden bij kleine boodschappen.
%\begin{table}[h]
%\begin{tabular}{|l|c|c|}
%	\hline
%	 & RSA with generated Sessionkey & AES of Boodschap\\
%	\hline
%	Android &   &   \\
%	\hline
%	JavaCard &   &  \\
%	\hline
%\end{tabular}
%\caption{Asymmetrische Encryptie (ns)}
%\label{Java Card tijdsanalyse RSA encryptie with gegenereerde sessiesleutel}
%\end{table}
%
%
%\begin{table}[h]
% \begin{tabular}{|l|c|c|c|c|l|}
%	\hline
%	 & Android & Java Card& Gebruik RAM & Minder APDU's\\
%	\hline
%	10kB & 1& 2 & 3 & 4 \\
%	\hline
%	50 kB & 1& 2 & 3 & 4 \\
%	\hline
%	100 kB & 1& 2 & 3 & 4 \\
%	\hline
%	500 kB & 1& 2 & 3 & 4 \\
%	\hline
%	1000 kB & 1& 2 & 3 & 4 \\
%	\hline
%\end{tabular}
%\caption{Symmetrische Encryptie (ms)}
%\label{JavaCard tijdsanalyse AES encryptie van boodschap}
%\end{table}

%Met een verdere uitwerking zou een beter applet kunnen geschreven die de applicatie ondersteunt en zo de gebruikers meer veiligheid biedt.

\section{forAP in Beeld}
\label{illus}
Om een idee te krijgen van hoe de praktische uitwerking er uiteindelijk uitziet, zullen nu enkele procedures met schermafdrukken weergeven.

%\subsection{Ge\"encrypteerde bestandsuitwisseling}

%\begin{figure}[h]
%  \centering
%  \includegraphics[width=0.75\textwidth]{besluitschema.jpg}
%  \caption[Ge\"encrypteerde bestandsuitwisseling]{Ontwerp van interactie tussen architecturen in de applicatie.}
%  \label{fig:beeld1}
%\end{figure}
%
%Aan de hand van figuur~\ref{fig:beeld1} wordt het verzenden en ontvangen van beveiligde berichten kort ge\"illustreerd:
%\begin{enumerate}[itemsep=2pt,parsep=2pt]
%	\item De publieke sleutel van de ontvanger en de boodschap worden naar de Java Card verstuurd
%	\item De Java Card geeft de vercijferde boodschap aan de applicatie
%	\item De applicatie upload de vercijferde boodschap naar zijn eigen Dropbox en vraagt een link naar dit bestand aan
%	\item De link wordt door het programma samengevoegd in een compacte sms
%	\item De sms wordt verzonden naar de gewenste ontvanger. Het Android systeem van de ontvanger geeft een melding als het bericht afkomstig is van de forAP applicatie. 
%	\item De applicatie verbindt via de link in de ontvangen sms met de Dropbox van de verzender.
%	\item Download de vercijferde tekst
%	\item Deze vercijferde tekst doorgeven aan de Java Card
%	\item De ontcijferde tekst wordt getoond aan de ontvanger 
%\end{enumerate}
%________________________________________________________

\subsubsection*{Het verzenden van een vercijferd bestand}

\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
      Ga naar het tabblad `Encrypt'. De gewenste contactpersoon kan geselecteerd worden uit een lijst, geopend met `To:' of getypt worden. Tijdens het typen van de naam of het telefoonnummer van de gewenste contactpersoon, wordt er automatisch een lijst geopend van mogelijke contactpersonen volgens de ingegeven tekst. 
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap34(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}  
\item   
   \begin{minipage}[t]{0.60\linewidth}
     De boodschap invoeren en klik daarna op de knop `Encrypt'. De ingegeven boodschap in het inputvenster wordt ingelezen. %ge\"encrypteerd met de gegeneerde sessiesleutel. De publieke sleutels van de geslecteerde contactpersonen zullen elk de sessiesleutel encrypteren. Bij succesvolle encryptie zal er een boodschap verschijnen van confirmatie.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap35(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}  
\item   
   \begin{minipage}[t]{0.60\linewidth}
      Selecteer de gewenste outputmethode. Aan de hand van de geselecteerde output procedure zal contactinformatie zoals het telefoonnummer of e-mailadres gebruikt worden.%De applicatie gaat een intent aanmaken die voor de verwerking van de geslecteerd output methode. Het adres, telefoonnummer van de contactpersoon wordt meegegeven alook als boodschap de vercijferde input.
      
      Ontvangstrapport verschijnt afhankelijk van de inputmethode.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap5.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}         
\end{enumerate}
%________________________________________________

\subsubsection*{Het opslaan van een vercijferd bestand op Dropbox}

\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
      In het tabblad `Encrypt' klikt u op de linkse of rechtse pijl om van inputtype te veranderen. Manuele tekst invoer of een bestand selecteren zijn de mogelijke keuzes. Klik op `Browse' nadat `File' als inputtype werd gekozen. %Hierna opent de bestandsverkenner en kan je het gewenste bestand selecteren.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap36(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item   
   \begin{minipage}[t]{0.60\linewidth}
     Selecteer het gewenste bestand in de bestandsverkenner. De gebruiker krijgt een boodschap als het bestand niet kan gelezen worden of als er geen toegang is tot een folder.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap20.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}  
\item   
   \begin{minipage}[t]{0.60\linewidth}
     Klik op de knop `Encrypt' om de encryptie te starten. Met `Sign' wordt enkel een digitale handtekening toegevoegd terwijl `Encrypt \& Sign' de beide combineert.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap9(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}  
\item   
   \begin{minipage}[t]{0.60\linewidth}
      Selecteer de outputmethode `Save on Dropbox'. Een melding wordt weergegeven bij succesvolle opslag op Dropbox.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap10(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\end{enumerate}
	%\begin{enumerate}
%\item
   %\begin{minipage}[t]{0.45\linewidth}
    	%Het tabblad "`Settings"' openen
   %\end{minipage}%
   %\hfill
   %\begin{minipage}[t]{0.30\linewidth}
   	%\centering
   	%\vspace{-1.9ex}
		%\includegraphics[width=\textwidth]{stap13(paint).png}
		%\caption{default}
		%\label{fig:figure1}    
   %\end{minipage}
   %\end{enumerate}    
%\end{enumerate}
%___________________________________________________
\subsection*{Ontvangen en verwerken van een vercijferde sms}

\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Bij het ontvangen van een sms verwittigt het Android systeem forAP. Als inhoud van de boodschap een bepaalde voorgedefinieerde  structuur bevat zal forAP icoon worden weergegeven in de statusbalk.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap32(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Als de gebruiker op de melding in de statusbalk klikt, wordt het `Decrypt' scherm geopend. De boodschap, gedownload met de link uit de sms, wordt ingeladen. De gebruiker kan nu het boodschap decrypteren en/of controleren op handtekening. Indien de gebruiker door de verkeerde knop te gebruiken bijvoorbeeld een handtekening wil decrypteren, wordt er een melding gegeven.  
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap90.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Als de gebruiker de boodschap wil controleren op handtekening moet de contactpersoon, die de boodschap verzond, geselecteerd worden. Met de publieke sleutel van deze contactpersoon kan een digitale handtekening gecontroleerd worden.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap91.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Melding of de digitale handtekening al dan niet correct is.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap92.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Indien decryptie wordt uitgevoerd, zijn er meerdere outputmethodes om de gedecrypteerde tekst te verwerken: een bestand opslaan, het tonen in een dialoogvenster of in het klembord kopi\"eren
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap93.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\end{enumerate}





%\begin{figure}[h]
%  \centering
%  \includegraphics[width=0.5\textwidth]{architectuur.png}
%  \caption[Ontwerp van interactie tussen architecturen in de applicatie]{Ontwerp van interactie tussen architecturen in de applicatie.
%}
%  \label{fig:interactie1}
%\end{figure}
%__________________________________________________
%\subsection{Publieke sleuteluitwisseling}

%\begin{figure}[h]
%  \centering
%  \includegraphics[width=0.75\textwidth]{besluitschema.jpg}
%  \caption[Publieke sleuteluitwisseling]{Ontwerp van interactie tussen architecturen in de applicatie.}
%  \label{fig:beeld2}
%\end{figure} 
%Aan de hand van figuur~\ref{fig:beeld2} wordt het verzenden en ontvangen van beveiligde berichten kort ge\"illustreerd:
%\begin{enumerate}[itemsep=2pt,parsep=2pt]
%	\item De publieke sleutel van de ontvanger en de boodschap worden naar de Java Card verstuurd
%	\item De Java Card geeft de vercijferde boodschap aan de applicatie
%	\item De applicatie upload de vercijferde boodschap naar zijn eigen Dropbox en vraagt een link naar dit bestand aan
%	\item De link wordt door het programma samengevoegd in een compacte sms
%	\item De sms wordt verzonden naar de gewenste ontvanger. Het Android systeem van de ontvanger geeft een melding als het bericht afkomstig is van de forAP applicatie. 
%	\item De applicatie verbindt via de link in de ontvangen sms met de Dropbox van de verzender.
%	\item Download de vercijferde tekst
%	\item Deze vercijferde tekst doorgeven aan de Java Card
%	\item De ontcijferde tekst wordt getoond aan de ontvanger 
%\end{enumerate} 

\subsubsection*{Verzenden van een publieke sleutel}

\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Het tabblad `Settings' openen en klik op `Send/export Key'
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap13(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item   
  \begin{minipage}[t]{0.60\linewidth}
     Gewenste output methode selecteren. a.b.c.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap15(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
   \begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
  	Indien `send sms', naam of telefoonnummer van de gewenste contactpersoon typen, er wordt automatisch een lijst geopend van mogelijke contactpersonen volgens de ingegeven tekst. Een bevestiging wordt gegeven bij succesvolle aankomst van de sms.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap22.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item   
  \begin{minipage}[t]{0.60\linewidth}
      Indien `send e-mail', gewenste mailprogramma selecteren. De publieke sleutel wordt hierin in een bijlage toegevoegd. Bericht wordt dan via e-mail verzonden.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
   	\includegraphics[width=\textwidth]{stap23.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}  
\item   
  \begin{minipage}[t]{0.60\linewidth}
      Indien `save as file'. De bestandsverkenner wordt geopend en selecteer de folder, waarin bestand moet worden opgeslagen. Bij succesvolle opslag wordt een bevestiging getoond.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
   	\includegraphics[width=\textwidth]{stap20.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
   \end{enumerate}
\end{enumerate}
%_______________________________________________________
\subsubsection*{Ontvangen van een publieke sleutel via sms}


\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Bij het ontvangen van een sms verwittigt het Android systeem forAP. Als inhoud van de boodschap een bepaalde voorgedefinieerde  structuur bevat zal forAP icoon worden weergegeven in de statusbalk.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap32(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Als de gebruiker op de melding in de statusbalk klikt, wordt het scherm geopend om contactpersonen toe te voegen. De publieke sleutel, gedownload met de link uit de sms, wordt ingeladen. Aan de hand van het telefoonnummer wordt op het Android systeem gezocht naar contactgegevens en worden deze contactgegevens automatisch ingevuld op het scherm. 
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap25.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \label{haha}
   \begin{minipage}[t]{0.60\linewidth}
    	Indien de contactpersoon correct werd opgeslagen zal deze tussen de contactpersonen staan met een sleutelsymbool. Enkel contacten met dit sleutelsymbool hebben een publieke sleutel. %Zo weet je of de opslag van deze publieke sleutel succesvol is.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap26.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\end{enumerate}

%____________________________________________________
\subsubsection*{Ontvangen van een publieke sleutel via e-mail}


\begin{enumerate}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Nieuwe e-mail ontvangen.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap33(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Open de ontvangen e-mail. In deze mail vindt je een bijlage.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap28.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Open de bijlage.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap29.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
 
\item
   \begin{minipage}[t]{0.60\linewidth}
    	Kies de applicatie forAP om de publieke sleutel te openen.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap30(foto).jpg}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}

\item
   \begin{minipage}[t]{0.60\linewidth}
    	Kies uiteindelijk de contactpersoon waar deze sleutel toe behoort. Indien de contactpersoon correct werd opgeslagen zal deze tussen de contactpersonen staan met een sleutelsymbool, zoals bij stap~\ref{haha}.% Zo weet je of de opslag van deze publieke sleutel succesvol is , het ontvangen van een publieke sleutel via een sms.
   \end{minipage}%
   \hfill
   \begin{minipage}[t]{0.30\linewidth}
   	\centering
   	\vspace{-1.0ex}
		\includegraphics[width=\textwidth]{stap31.png}
		%\caption{default}
		\label{fig:figure1}    
   \end{minipage}
\end{enumerate}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "eindwerk_template"
%%% End: 
